1. Field of the Invention
The present invention relates generally to the field of disk drives or direct access storage devices (DASD). In particular, the present invention relates to encoding a servo address to contain more information in fewer bits.
2. Related Art
A direct access storage device (DASD) stores information for later retrieval on a magnetic or electro-optical medium typically referred to as a disk. A DASD may comprise one or more disks having one or both surfaces used to store information. The information, or data, is written onto the disks in concentric tracks. The data is retrieved from and stored in the tracks via read/write heads. Some read/write heads have separate read elements and separate write elements. Others use the same element to perform both operations.
In order to accurately access the data, servo information is written onto the disks to provide positioning information for the read/write heads. Ordinarily, the servo information is written into the tracks along with the data. In a multiple disk storage environment, one entire surface of a storage disk may be dedicated to servo information. This one surface is referred to as a servo surface. One read/write head known as a servo head accesses the servo surface to read the position information stored thereon. Since the servo head is in a fixed relationship relative to the other read/write heads, the position of the servo head can be used to indicate the position of the read/write heads.
An alternative to a dedicated surface for servo information is a "sector" servo pattern. In this scheme, pie-shaped wedges of servo information are interweaved between sections of data. The servo information is incorporated into the individual data tracks on the data surfaces of the disk drive by dividing the data tracks into a plurality of smaller fields, or sectors. Because disks are used as random access memory in many applications, such as personal computers, related information may not always be written in consecutive sectors in the individual tracks. In addition, as old data is removed and new data added, it is not always possible to write new data in adjacent sectors or even adjacent tracks. Because related information may be scattered in several different sectors on the disk, it is important for the disk drive to be able to quickly and accurately access individual tracks and individual sectors of each track.
One method of providing sector positioning uses a counter which continuously monitors sector position once an initial position has been established. In this scheme, the counter is reset once per revolution at a predefined index mark on each servo track. The counter is incremented as sector marks which indicate the beginning of individual data sectors pass under the servo head. Independently of the sector counter, another counter is used to continuously monitor track position. This track counter is bidirectional. It is reset at a predefined track zero position of the servo head and is incremented or decremented as the head crosses individual servo tracks.
The sector counter together with the track counter provide a method for accurately identifying locations on the servo surface. If, however, because of system noise or other perturbations the sector count or track count become corrupted, subsequent locations will be incorrectly identified until the disk is resynchronized. For this reason, this method (known as relative position sensing) is unreliable when used without an independent method of location verification.
One method for independently verifying the location is to precede each data sector on each data track with a sector identification (ID) field which contains identifier information unique to that sector over the entire drive. A typical identifier includes fields for the track number, the sector number, and for a DASD with multiple data heads, the head number. The sector ID may also contain other information related to media defects and redundancy information for error detection. During operations for reading or writing data, the disk controller reads the sector ID of each data sector as it is encountered and applies various tests to the information contained therein, including comparison of the identifier which was read to the identifier which was expected. If the various tests are passed and the identifier read matches the identifier expected, then the disk controller reads from or writes to the subsequent data portion of the sector. Because each data sector is uniquely and independently identified, the incorrect identification of any data sector will not affect the correct identification of any subsequent data sector. This method of location verification is reliable.
Another method for independently verifying the sector location is to place the identifier from the sector ID into the servo information area. This method is used in systems such as IBM's No-ID.TM. Sector Format. In such a system, the sector ID preceding a data sector is eliminated from the disk. Instead, portions of the sector ID are stored in solid-state memory or other fields within the sector. In order for the servo controller to properly verify the location of the sectors, the identifier portion is placed in a servo address field of the servo information area which previously contained just the track, or cylinder, number stored as a Grey code.
One problem associated with both theses schemes is that the identifier, also referred to as a servo address, occupies storage area that would otherwise be available for recording data. This becomes especially troublesome as the track densities increase and disk sizes decrease. As track densities increase, larger track numbers, which require larger field widths on the disk, are required to uniquely identify each track. Smaller disks place a premium on disk space available for data. What is needed is a verification method which reduces the amount of disk space required to store the servo address.